package co.com.travelsoft.ati.entities.ejb;

import java.util.List;

import javax.ejb.Remote;

import co.com.travelsoft.ati.dto.UsuarioDto;
import co.com.travelsoft.ati.exception.TravelSoftException;

@Remote
public interface UsuarioEJBRemote {
	
	
	/**
	 * Permite la creacion de un usuario.
	 * @param usuarios
	 * @exception throws TravelSoftException 
	 */
	public abstract void crear(UsuarioDto usuarios) throws TravelSoftException;

	/**
	 * Permite buscar un usuario por su identificacion.
	 * @param usuarios
	 * @return Usuarios : un objeto usuario
	 */	
	public abstract UsuarioDto buscarPorId(UsuarioDto usuarios);


	/**
	 * Permite buscar un usuario por su login.
	 * @param usuarios
	 * @return Usuarios : un objeto usuario
	 */	
	public abstract UsuarioDto buscarPorLogin(UsuarioDto usuario);
	
	
	/**
	 * Permite listar todos los usuarios existentes.
	 * @return List<Usuarios> : una lista de usuarios
	 */	
	public abstract List<UsuarioDto> listar();

	/**
	 * Permite actualizar la informacion de un usuario.
	 * @param usuarios
	 * @exception throws TravelSoftException
	 */	
	public abstract void actualizar(UsuarioDto usuarios) throws TravelSoftException;
	
	/**
	 * Permite borrar un usuario.
	 * @param usuarios
	 * @exception throws TravelSoftException
	 */	
	public abstract void borrar(UsuarioDto usuarios) throws TravelSoftException;
	
	
	
	/**
	 * Permite consultar todos los usuarios inactivos
	 * @return
	 */
	public abstract List<UsuarioDto> consultarUsuariosInactivos(int numeroDias);

}
